The present invention relates to the field of video processing. More specifically, the present invention pertains to a method and system for processing a video overlay for an on-screen display.
Prior Art FIG. 1 illustrates one embodiment of an on-screen display 15 for a rasterized video screen 10 used by devices such as consumer electronic devices (e.g., television sets) or computer monitors. In a television set, for example, the on-screen display typically includes information such as the channel being viewed, the date and/or time, a main menu for accessing a plurality of audio and video options, and a representation (e.g., a sliding bar) showing the level of volume, color, etc. A viewer can make selections using either the buttons on a remote device or the buttons on the front of the television set.
Prior art methods for introducing an overlay, such as a cursor, onto on-screen display 15 are complex. In actuality, on-screen display 15 is typically made up of multiple and separate sections, each of which is rendered and controlled using different pieces of software. For example, the channel number and date/time may be associated with one section (20) and piece of software, the main menu with another section (30) and piece of software, and the sliding bar with still another section (40) and piece of software. A cursor, when available, is problematic because it needs to be able to travel across the entire on-screen display 15. Thus, when the cursor moves from one section of on-screen display 15 to another (e.g., from section 30 to section 40), it is necessary to indicate to the corresponding pieces of software when the cursor is leaving one section and entering the next. The programming associated with providing and executing this capability is difficult and prone to error.
Alternatively, the overlay can be generated by taking the software for each section 20, 30 and 40, generating a bit map of the on-screen display in memory, and then xe2x80x9cpaintingxe2x80x9d the overlay onto the bit map. That is, at the position in the bit map where the overlay is to be located, the data for the on-screen display are removed and the data for the overlay are inserted in their place. The bit map including the overlay is then downloaded from memory and displayed on-screen.
However, this approach is also problematic because, in order to be effectively implemented, a large memory is needed to generate and store the bit map before it is displayed. This approach may be used by a device with enough available resources, such as a computer system, but consumer electronic devices such as television sets are much more limited with regard to available memory, and thus cannot acceptably implement this approach. For example, while a computer system may have 256 megabytes (MB) of random access memory (RAM), a consumer electronic device may have on the order of only one MB of RAM. Similar problems occur in prior art devices with limited bus bandwidth to memory, or with limited on-chip memory.
Consequently, on-screen displays used in prior art consumer electronic devices generally do not use overlays such as cursors. Instead, the viewer has to scroll through menus and the like in order to select options and indicate preferences. In comparison to the relative ease in which selections can be made using a cursor on a computer monitor, having to scroll through menus on a television set, for example, can be tedious and inconvenient.
Accordingly, what is needed is a method and/or system that can provide an overlay (such as a cursor) in an on-screen display in a consumer electronic device. What is also needed is a method and/or system that can accomplish the above need and that can be implemented with limited system resources, in particular in devices with limited memory, limited bus bandwidth to memory, and/or limited on-chip memory. The present invention provides a novel solution to the above needs.
The present invention provides a method and system that can provide an overlay such as a cursor in an on-screen display in a consumer electronic device. The present invention also provides a method and system that can be implemented with limited system resources, in particular in devices with limited bus bandwidth to memory and/or limited on-chip memory.
The present embodiment of the present invention pertains to a method of video overlay processing and a system thereof. On-screen display (OSD) data for generating an image on a display device are downloaded to an OSD unit on an integrated circuit. The OSD data are downloaded in bursts separated by gaps. During the gaps, overlay data for generating an overlay on the image are downloaded to an overlay unit on the integrated circuit.
The overlay data are divided into portions so that the overlay data can be downloaded during the time between bursts of OSD data. Generally, the amount of overlay data downloaded during a burst gap is sufficient for generating enough of the overlay until the next burst gap occurs and the next portion of overlay data is downloaded. In one embodiment, the amount of overlay data downloaded corresponds to one line of the overlay. In another embodiment, the amount of data downloaded corresponds to the amount of the overlay that can be displayed before the next burst gap in OSD data.
In the present embodiment of the present invention, the video overlay process is implemented by a video processor (e.g., an integrated circuit) comprising an OSD unit and an overlay unit. In this embodiment, the OSD data and the overlay data are downloaded from external (e.g., off-chip) memory buffers to on-chip memories in the OSD unit and the overlay unit, respectively. Because only a portion of the overlay data is downloaded during each burst gap, the amount of memory needed to store the overlay data can be reduced.
In one embodiment, a controller element can be used to regulate the burst gaps, for example in order to guarantee that the burst gap is long enough to download the overlay data most efficiently.
In summary, the method and system for video overlay processing described in accordance with the present invention eliminates the requirement that on-chip memory be large enough to hold the data needed for an entire overlay. Instead, only one line or a part of one line of the overlay needs to be stored on-chip. Also, in accordance with the present invention, it is not necessary to preempt the OSD unit in order to download overlay data.
These and other objects and advantages of the present invention will become obvious to those of ordinary skill in the art after having read the following detailed description of the preferred embodiments which are illustrated in the various drawing figures.